5244a7fcdaf82d71c7166dde7b256e7a087a3955,source/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java,DirectoryIndexImpl,_initialize,#boolean#VirtualFile#,183
Before Change
VirtualFile[] sourceRoots = orderEntry.getFiles(OrderRootType.SOURCES);
for (VirtualFile sourceRoot : sourceRoots) {
fillMapWithOrderEntries(sourceRoot, oneEntryList, entryModule, null, null, forDir, null, null, fileTypeManager);
}
}
else if (orderEntry instanceof ModuleSourceOrderEntry) {
After Change
ModuleRootManager rootManager = ModuleRootManager.getInstance(module);
OrderEntry[] orderEntries = rootManager.getOrderEntries();
final Map<VirtualFile, List<OrderEntry>> depEntries = new HashMap<VirtualFile, List<OrderEntry>>();
final Map<VirtualFile, List<OrderEntry>> libClassRootEntries = new HashMap<VirtualFile, List<OrderEntry>>();
final Map<VirtualFile, List<OrderEntry>> libSourceRootEntries = new HashMap<VirtualFile, List<OrderEntry>>();
for (OrderEntry orderEntry : orderEntries) {
if (orderEntry instanceof ModuleOrderEntry) {
VirtualFile[] importedClassRoots = orderEntry.getFiles(OrderRootType.COMPILATION_CLASSES);
for (VirtualFile importedClassRoot : importedClassRoots) {
addEntryToMap(importedClassRoot, orderEntry, depEntries);
}
VirtualFile[] sourceRoots = orderEntry.getFiles(OrderRootType.SOURCES);
for (VirtualFile sourceRoot : sourceRoots) {
addEntryToMap(sourceRoot, orderEntry, depEntries);
}
} else if (orderEntry instanceof ModuleSourceOrderEntry) {
List<OrderEntry> oneEntryList = Arrays.asList(new OrderEntry[]{orderEntry});
Module entryModule = orderEntry.getOwnerModule();
VirtualFile[] sourceRoots = orderEntry.getFiles(OrderRootType.SOURCES);
for (VirtualFile sourceRoot : sourceRoots) {
fillMapWithOrderEntries(sourceRoot, oneEntryList, entryModule, null, null, forDir, null, null, fileTypeManager);
}
} else if (orderEntry instanceof LibraryOrderEntry || orderEntry instanceof JdkOrderEntry) {
VirtualFile[] classRoots = orderEntry.getFiles(OrderRootType.CLASSES);
for (VirtualFile classRoot : classRoots) {
addEntryToMap(classRoot, orderEntry, libClassRootEntries);
}
VirtualFile[] sourceRoots = orderEntry.getFiles(OrderRootType.SOURCES);
for (VirtualFile sourceRoot : sourceRoots) {
addEntryToMap(sourceRoot, orderEntry, libSourceRootEntries);
}
}
}
for (Map.Entry<VirtualFile, List<OrderEntry>> mapEntry : depEntries.entrySet()) {
final VirtualFile vRoot = mapEntry.getKey();
final List<OrderEntry> entries = mapEntry.getValue();
fillMapWithOrderEntries(vRoot, entries, null, null, null, forDir, null, null, fileTypeManager);
}
for (Map.Entry<VirtualFile, List<OrderEntry>> mapEntry : libClassRootEntries.entrySet()) {